#include "AnimationInfo.h"
using namespace leo;

AnimationInfo::AnimationInfo(int _frameCount, int _framePerLine, int _framePerSecond)
{
	framesPerLine = _framePerLine;
	framesPerSecond = _framePerSecond;
	this->framesCount = _frameCount;
	frames = new Frame[_frameCount];
}

AnimationInfo::~AnimationInfo(void)
{
}

Frame AnimationInfo::GetFrame(int _frameNumber)
{
	return frames[_frameNumber%framesCount];
}
void AnimationInfo::SetFrameSize(leo::Texture::Ptr _tex, int _frameNumber, float _u, float _v)
{
	frameList = new Frame[_frameNumber];
		
	width=_u;
	height=_v;
	int x =0;
	int y =0;

	for (int i=0; i<_frameNumber;i++)
	{
		frameList[i].u=(x+(i%framesPerLine)*width);
		frameList[i].v=(y+(floor(((float)i/(float)framesPerLine))*height));

	}
	
}

void AnimationInfo::SetFrameNumber(int _frameNumber, int _frameOrder)
{
	frames[_frameNumber]=frameList[_frameOrder];
}

